package com.cgnpc.scp.hse.mybatis.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cgnpc.scp.common.bean.MyPageRequest;
import com.cgnpc.scp.common.utils.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

@TableName(value = "tbl_hse_meetinguser")
public class HseMeetingUser extends MyPageRequest {
    /**
     * meeting_sign_in 签到状态：值0未签到;1已签到；
     */
    public static final int MEETINGSIGNIN_0 = 0;

    /**
     * meeting_sign_in 签到状态：值0未签到;1已签到；
     */
    public static final int MEETINGSIGNIN_1 = 1;

    /**
     * meeting_sign_in 签到状态：值0未签到;1已签到；
     */
    public static final int MEETINGSIGNIN_DEFAULT = 0;

    /**
     * meeting_user_type 参会人员类型；值1为与会人员；2为负责人；3为班组安全员；
     */
    public static final int MEETINGUSERTYPE_1_ATTENDEES = 1;

    /**
     * meeting_user_type 参会人员类型；值1为与会人员；2为负责人；3为班组安全员；
     */
    public static final int MEETINGUSERTYPE_2_LEADING = 2;

    /**
     * meeting_user_type 参会人员类型；值1为与会人员；2为负责人；3为班组安全员；
     */
    public static final int MEETINGUSERTYPE_3_TEAM_SAFETY = 3;

    /**
     * meeting_user_type 参会人员类型；值1为与会人员；2为负责人；3为班组安全员；4为创建人；
     */
    public static final int MEETINGUSERTYPE_4_CREATE = 4;

    /**
     * 是否短信通知；值0不通知；1通知；
     */
    public static final int SMSNOTICE_0 = 0;

    /**
     * 是否短信通知；值0不通知；1通知；
     */
    public static final int SMSNOTICE_1 = 1;

    /**
     * sms_send_status 短信发送状态；0未发送；1已经发送；
     */
    public static final int SMSSENDSTATUS_0 = 0;

    /**
     * sms_send_status 短信发送状态；0未发送；1已经发送；
     */
    public static final int SMSSENDSTATUS_1 = 1;

    /**
     * sms_send_status 短信发送状态；0未发送；1已经发送；2错误信息；
     */
    public static final int SMSSENDSTATUS_2 = 2;

    @TableId
    private String id;

    private String meetingInfoId;

    private Integer meetingUserType;

    private String meetingUser;

    private String meetingUserName;

    private Integer meetingSignIn;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date meetingSignInTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    private String createUser;

    private String createUserName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastUpdateTime;

    private String lastUpdateUser;

    private String lastUpdateUserName;

    private Integer smsNotice;

    private Integer smsSendStatus;

    // begin 自定义字段
    @TableField(exist = false)
    private String userID;
    // end 自定义字段

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getMeetingInfoId() {
        return meetingInfoId;
    }

    public void setMeetingInfoId(String meetingInfoId) {
        this.meetingInfoId = meetingInfoId == null ? null : meetingInfoId.trim();
    }

    public Integer getMeetingUserType() {
        return meetingUserType;
    }

    public void setMeetingUserType(Integer meetingUserType) {
        this.meetingUserType = meetingUserType;
    }

    public String getMeetingUser() {
        return meetingUser;
    }

    public void setMeetingUser(String meetingUser) {
        this.meetingUser = meetingUser == null ? null : meetingUser.trim();
    }

    public String getMeetingUserName() {
        return meetingUserName;
    }

    public void setMeetingUserName(String meetingUserName) {
        this.meetingUserName = meetingUserName == null ? null : meetingUserName.trim();
    }

    public Integer getMeetingSignIn() {
        return meetingSignIn;
    }

    public void setMeetingSignIn(Integer meetingSignIn) {
        this.meetingSignIn = meetingSignIn;
    }

    public Date getMeetingSignInTime() {
        return DateUtil.cloneNewDate(meetingSignInTime);
    }

    public void setMeetingSignInTime(Date meetingSignInTime) {
        this.meetingSignInTime = DateUtil.cloneNewDate(meetingSignInTime);
    }

    public Date getCreateTime() {
        return DateUtil.cloneNewDate(createTime);
    }

    public void setCreateTime(Date createTime) {
        this.createTime = DateUtil.cloneNewDate(createTime);
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }

    public String getCreateUserName() {
        return createUserName;
    }

    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName == null ? null : createUserName.trim();
    }

    public Date getLastUpdateTime() {
        return DateUtil.cloneNewDate(lastUpdateTime);
    }

    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = DateUtil.cloneNewDate(lastUpdateTime);
    }

    public String getLastUpdateUser() {
        return lastUpdateUser;
    }

    public void setLastUpdateUser(String lastUpdateUser) {
        this.lastUpdateUser = lastUpdateUser == null ? null : lastUpdateUser.trim();
    }

    public String getLastUpdateUserName() {
        return lastUpdateUserName;
    }

    public void setLastUpdateUserName(String lastUpdateUserName) {
        this.lastUpdateUserName = lastUpdateUserName == null ? null : lastUpdateUserName.trim();
    }

    public Integer getSmsNotice() {
        return smsNotice;
    }

    public void setSmsNotice(Integer smsNotice) {
        this.smsNotice = smsNotice;
    }

    public Integer getSmsSendStatus() {
        return smsSendStatus;
    }

    public void setSmsSendStatus(Integer smsSendStatus) {
        this.smsSendStatus = smsSendStatus;
    }

    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }
}